The invention relates to a method of designing an integrated circuit such as a system LSI, and more particularly to design measures to reduce power consumption through the realization of a floorplan that incorporates a transaction analysis at an upper level.
In recent years, power consumption associated with enhancing functions and performance of integrated circuits such as a system LSI has been regarded as of importance. The reason is that the power consumption of integrated circuits significantly influence costs or the product value of battery, packages, and so on. This means there is an increasing need for a power consumption analysis for the sake of low power design.
Now, an integrated circuit such as a system LSI is designed along a large flow including system design, RTL design, floorplan synthesis, arrangement, and wiring/validation, being realized step by step. Then, after the arrangement and wiring of circuit elements are realized, it becomes possible to estimate (analyze) the power consumption of the integrated circuit. Here, letting C, f, and V stand for the capacitance, frequency, and voltage, respectively, the power consumption P is given by the following equation (1):
P=Kxc2x7Cxc2x7Fxc2x7V2,xe2x80x83xe2x80x83(1) 
where K is transition probability.
Of the parameters on the right side of the equation (1), the voltage V is determined by the design specifications. The frequency can be grasped at the stage of designing the functions and logic of the integrated circuit. The capacitance C can be estimated from the areas of the individual devices and those of the wires on the integrated circuit when the arrangement and wiring are determined.
Thus, the estimation of power consumption of conventional integrated circuits at the designing stage is typically performed after the completion of the temporary arrangement and wiring, or actual arrangement and wiring. After the power consumption is estimated, designing is repeated for optimization so that integrated circuits of low power consumption type are designed finally.
With the advent of system LSIs and other large-scale integrated circuits as in recent years, however, considerable amounts of time have come to be expended not only in the optimization of power consumption but also in the estimation of power consumption. In particular, image-handling applications with enormous input data are on the increase recently. Besides, identical circuits vary in power consumption while executing different applications. On that account, the power consumption analysis in the automatic designing of integrated circuits has become increasingly complicated, with a tendency of the period involved in the analysis to be longer. Consequently, at the moment, any technique actually available for the power consumption analysis at the automatic designing stage is not proposed yet.
Then, power consumption could be estimated at the upstream side before the arrangement and wiring so that the power consumption estimation at the designing stage is performed with higher efficiency. This would require only that each parameter on the right side of the equation (1) be estimable at the upstream designing stage.
Under present circumstances, however, there is provided no means appropriate for the upstream-side estimation of the capacitance C among the parameters in the equation (1). At this point, the present inventors have reached a conception of utilizing a transaction analytical technology for analyzing power consumption.
Conventionally, the transaction analytical technology has been used chiefly in designing a large-scale network system. In a network system, individual terminals connected to fragmented communication networks actively utilize the communication networks, basically without any mechanism for integrated control over the communication networks. Accordingly, when constructing a network system, it has been necessary to examine the throughput of the communication networks under assumed situations of utilization. It is the transaction analytical technology that has been used as a method of xe2x80x9cassuming the situations of utilization.xe2x80x9d
Nevertheless, the conventional transaction analysis includes no function of validating the logic of data communicated within such a large system. The conventional transaction analytical technology is an analytical technology to grasp only the occurrence, flow, and disappearance of transactions for the sake of analyzing the transactions that cause a decrease in throughput, or the degree of congestion of processes.
Meanwhile, as devices and circuit elements get finer with the recent advances of process technologies, LSIs are growing in functionality and performance. As a result, it has become increasingly difficult to develop multifunction, high-performance LSIs by market-demanded time without introducing reuse design techniques for making effective use of existing parts into LSI design. An LSI constructed through such reuse design techniques may be regarded as a network system. That is, in the LSI, reused parts with desired functions are connected to the backbone wiring, or a communication network within the LSI. These reused parts correspond to terminals. Then, the individual reused parts actively utilize the backbone wiring to transmit data to each other for processing, to achieve their desired objectives.
Nonetheless, the transaction analytical technology has not been used for power consumption analysis heretofore. The following are two possible reasons for this. One is the significance of power consumption, and the other lies in the content of the transaction processing.
Initially, description will be given of the implication of power consumption. In network systems, the terminals connected to communication networks are dispersed physically. Besides, the communication networks for connecting the terminals are made of materials having lower electric resistances. Therefore, in the network systems, the power consumption of the entire systems has mattered little. That is, there has been no motivation to use the transaction analytical technology for analyzing power consumption.
Now, turn to the content of the transaction processing. In network systems, the transaction amount output from a function for performing certain processing depends on a transaction amount input and the frequency of data input. On the other hand, a system LSI performs not only such processing as described above, but also compression, expansion, and other processing in which the transaction amount to be output may vary greatly with input data properties. Introducing these transaction amount variations resulting from differences in data property into the analysis of power consumption requires some model, whereas such a model itself is not yet in existence.
An object of the present invention is to provide a method of designing an integrated circuit, in which a model capable of utilizing a transaction analytical technology for analyzing power consumption can be established to allow easy and efficient consideration for lower power consumption.
A method of designing an integrated circuit in the present invention comprises the step of performing a transaction analysis by using a transaction analyzing model including a database for storing a transaction amount in an integrated circuit to be designed, the transaction amount being expressed as events in a statistical distribution.
According to this method, a high-speed analysis can be made in performing a power consumption estimation within a realistic time with an eye to the fact that transactions well reflect the frequencies of operations in an integrated circuit.
The transaction analyzing model is to select a plurality of transaction amounts and frequencies of occurrence based on the statistical distribution. This allows a selection for efficient use of design resources.
The database of the transaction analyzing model stores a normal distribution as the statistical distribution. Therefore, the transaction analyzing model can be created easily.
The transaction analysis is performed by executing an application and extracting the statistical distribution. Therefore, high-precision high-speed analyses can be made by using the transaction analyzing model that allows analyses conforming to reality.
Another method of designing an integrated circuit in the present invention comprises the step of optimizing the area of hardware by using a hardware area estimation model including a hardware area estimation database storing a transaction amount, the number of processing cycles, an operating frequency, and an area of each hardware function of an integrated circuit to be designed.
According to this method, it becomes possible to calculate the area of hardware based on existing information, at an earlier stage of designing.
The hardware area estimation database stores a basic transaction amount, the basic number of processing cycles, a basic operating frequency, and a basic area of each hardware function. The hardware area estimation model further includes an area calculating equation for calculating an area from the basic transaction amount, the basic number of processing cycles, the basic operating frequency, the basic area, a desired transaction amount, the number of processing cycles desired, and a desired operating frequency. Therefore, whether a hardware area calculated is appropriate or not can be decided quickly.
The hardware area estimation model further includes a correction factor for correcting the area calculating equation, the correction factor being determined from the desired transaction amount and the area calculated. This makes it possible to perform the estimation of hardware areas with high precision.
Another method of designing an integrated circuit comprises the step of performing a power consumption analysis by using a hardware power consumption estimation model which includes: a power consumption estimation database for storing per-transaction energy and a correction factor of each hardware function of an integrated circuit to be designed; and a power consumption calculating equation for calculating power consumption from the energy and correction factor in the power consumption estimation database, a desired transaction amount, a desired operating frequency, and a transaction inversion rate.
According to this method, it becomes possible to calculate power consumption quickly with an eye to the point that transaction amounts and their inversion rates well reflect power consumption.
The transaction inversion rate in the hardware power consumption estimation model shows the rate of change of a transaction having the desired transaction amount from a transaction temporally preceding immediately. This makes the power consumption estimation faster.
The hardware power consumption estimation model further includes a correction factor for correcting the power consumption calculating equation, the correction factor being determined from a to-measurement ratio. This allows an improvement in the precision of the power consumption estimation.
The estimation result is corrected by multiplying an estimated power consumption of a yet-to-be-measured module among modules given the estimation of power consumption, by the ratio between an estimation and a measurement of power consumption of another module measured already. Therefore, the estimation result can be brought yet closer to the power consumption conforming to reality.
Another method of designing an integrated circuit in the present invention comprises: a step (a) of designing architecture for establishing hardware-based functional modules and connections of the functional modules; a step (b) of performing a transaction analysis on the functional modules and the connections; a step (c) of floorplanning the configuration of hardware obtained from the transaction analysis; and a step (d) of repeating the steps (a) to (c) to determine an optimum solution to hardware configuration.
This method allows efficient allocation of hardware resources and floorplanning.
In the step (c), the floorplanning involves information of relative positions of the functional modules. Therefore, a yet appropriate floorplan can be obtained.
Another method of designing an integrated circuit comprises: a step (a) of performing a transaction analysis on hardware-based functional modules in architecture of an integrated circuit and on connections of the functional modules; a step (b) of calculating the areas of the functional modules and areas necessary for the connections, based on the result of the transaction analysis; a step (c) of performing floorplanning based on the areas of the functional modules and the areas necessary for the connections; a step (d) of optimizing a circuit generated by the floorplanning toward smaller areas; and a step (e) of repeating the steps (a) to (d) before determining an optimum solution to hardware configuration and area.
This method allows efficient allocation of hardware resources and consideration of areas.
The calculation of the areas necessary for the connections at the step (b) includes a process of determining appropriate bit sizes based on the result of the transaction analysis on the connections between the functional modules, and then determining layout wiring widths and layout interval sizes for use in layout design, corresponding to the bit sizes. This facilitates the calculation of the areas necessary for the connections.
Another method of designing an integrated circuit comprises: a step (a) of performing a transaction analysis on hardware-based functional modules in architecture of an integrated circuit and on connections of the functional modules; a step (b) of calculating the areas of the functional modules and areas for the connections, based on the result of the transaction analysis; a step (c) of calculating the power consumption of each of the functional modules; a step (d) of calculating a wiring capacitance from the areas for the connections and a per-unit-area capacitance of wiring for the connections, and calculating the power consumption of the connections between modules from this wiring capacitance and the numbers of transactions on the connections; a step (e) of calculating the power consumption of the entire integrated circuit based on the calculations in the steps (c) and (d); and a step (f) of repeating the steps (a) to (e) before determining an optimum solution to hardware configuration, area, and power consumption.
According to this method, it becomes possible to calculate power consumption quickly and precisely with an eye to the point that transactions well reflect power consumption.
The step (e) is followed by: a step (g) of deciding whether or not the power consumption calculated in the step (e) is equal to or lower than a desired value of power consumption; and a step (h) of deciding, in the case where the power consumption calculated is higher than the desired value of power consumption in the step (g), whether or not functional module parallelization for power reduction is possible. Here, if the decision in the step (h) shows that the functional module parallelization is possible, the functional module parallelization is performed, and if not, no operation is made before a return to the step (a). Accordingly, the areas and power consumption are optimized in a short period.
The step (f) is followed by a step of designing power supply wiring before determining an optimum solution to hardware configuration, area, and power consumption. This allows the calculation of areas including the power supply wiring.
The step (e) includes: a substep (e1) of estimating a design structure of a lower level based on design data of an upper level and a design constraint; a substep (e2) of performing a function simulation on design data of the lower level; and a substep (e3) of estimating power consumption from operating information extracted by the function simulation and the design structure of the lower level. Therefore, more accurate power consumption information can be obtained.
Preferably, a step of determining elements for constituting a design data structure of the lower level and wiring widths for the connections from the operating information comes between the substep (e1) and the substep (e3); in the substep (e3), the power consumption is estimated with the elements for constituting the design data structure of the lower level and the wiring width for connection also taken into account.
Another method of designing an integrated circuit comprises: a step (a) of performing a function simulation on design data of an upper level; a step (b) of estimating a design structure of a lower level based on the design data of the upper level, operating information extracted by the function simulation, and a design constraint; and a step (c) of estimating power consumption from the operating information and the design structure of the lower level.
According to this method, the design data of the upper level and the operating information can be used to perform a precise power consumption estimation.
The upper level is a control data flow graph, and the lower level is a register-transfer logic (RTL) level. This improves the precision of the power consumption estimation.
Preferably, a step (k) of determining elements for constituting a design data structure of the lower level and wiring widths for connections from the operating information comes after the step (a) and before the step (c); in the step (c), the power consumption is estimated with the elements for constituting the design data structure of the lower level and the wiring width for connection also taken into account.
In the step (k), the number of register, the number of arithmetic units, the number of selectors, and the number of wires may be determined as the elements for constituting the design data structure of the lower level.